This application relates generally to performing object mapping. More specifically, the present invention includes a method and apparatus for performing distributed object mapping in a Java language environment.
Distributed processing has become more popular in recent years. Various xe2x80x9cobjectsxe2x80x9d located in different address spaces communicate with each other to perform respective data processing transactions.
Conventional systems often use objects written in the same programming language that are located in different address spaces. Objects that are defined in two different languages and are running at two different address spaces cannot be referenced by each other. For example, a conventional Java language environment cannot transparently address remote objects written in a proprietary language environment.
Object mapping or language mapping is well-known in database applications when a proprietary language is needed to be embedded in an object oriented language. For example, JSQL is a version of SQL (Structured Query Language) that can be embedded in Java. As another example, Oracle OCI is a version of SQL that can be embedded in C++. These solutions, however, do not deal with distributed object problems because these various versions of SQL are not object oriented languages. These variations of SQL are embedded objects and cannot be executed in different address spaces or on different machines. There is no strong syntactic mapping because SQL is not an object-oriented language. In other words, the interface between the embedded objects and the object oriented language is opaque and not easily manipulated.
On the other hand, JavaSoft""s Java Native Interface (JNI) can map objects between Java and C++, but does not attempt to map distributed objects. There is no implicit distributed object mapping mechanism built into JNI.
The present invention provides an object mapping for distributed objects that maintains the language""s syntactic structure so that the remote non-Java object may be manipulated transparently in Java. Syntactic structure refers to the programming language syntax. This may include, for example, object creation, object destruction, attribute references, and method invocations. This object mapping for distributed objects is performed via a generic interface that is designed to provide a certain level of transparency between Java and a legacy object oriented language. For example, in an embodiment of the present invention, this generic interface provides a level of transparency between Java and a knowledge system shell called RTie.
This method and apparatus for performing distributed native object mapping has the advantage that it provides a transparent interface between Java and a legacy object oriented language so that developers can walk easily between imperative and logic programming paradigms and can make appropriate design tradeoffs.
In accordance with the purpose of the invention, as embodied and broadly described herein, the invention relates to a system and method for performing distributed object mapping in a Java language environment. The method includes the steps of creating a first object associated with a first language environment and creating a second object associated with a second language environment. The method further includes the step of transparently mapping between the first object and the second object. At least one of the objects will be associated with a native or legacy object oriented language.
A fuller understanding of the invention will become apparent and appreciated by referring to the following description and claims taken in conjunction with the accompanying drawings.